package com.midian.common.utils;

import java.util.Date;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class ContentJSONObject {

	private JSONObject jsonObject;

	public ContentJSONObject() {
		super();
		jsonObject = new JSONObject();
	}

	public void put(String key, Object value) {
		if (value instanceof String || value instanceof Integer || value instanceof String || value instanceof Double || value instanceof Long || value instanceof Boolean) {
			jsonObject.put(key, ObjUtils.getOpVal(value));
		} else if (value instanceof Date) {
			jsonObject.put(key, DateUtils.fotmatDate3((Date) value));
		} else if (value instanceof ContentJSONObject) {
			jsonObject.put(key, ((ContentJSONObject) value).getContent());
		} else {
			jsonObject.put(key, value);
		}
	}

	public Object get(String key) {
		return jsonObject.get(key);
	}

	public Object get(Object key) {
		return jsonObject.get(key);
	}

	public Double getDouble(String key) {
		return jsonObject.getDouble(key);
	}

	public int getInt(String key) {
		return jsonObject.getInt(key);
	}

	public JSONArray getJSONArray(String key) {
		return jsonObject.getJSONArray(key);
	}

	public JSONObject getJSONObject(String key) {
		return jsonObject.getJSONObject(key);
	}

	public Long getLong(String key) {
		return jsonObject.getLong(key);
	}

	public Boolean getBoolean(String key) {
		return jsonObject.getBoolean(key);
	}

	public String getString(String key) {
		return jsonObject.getString(key);
	}

	public JSONObject getContent() {
		return jsonObject;
	}

	public void addSelf2Json(JSONObject json){
		json.put("content", jsonObject);
	}
	
	public void addSelf2Json(JSONObject json,String key){
		json.put(key, jsonObject);
	}
	
	public void addSelf2Array(JSONArray array){
		array.add(jsonObject);
	}
	
}
